﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VH.SharePoint.Api.Queries;

namespace VH.SharePoint.Api
{
    public interface IRepository<TEntity, TKey> where TEntity : class
    {
        IEnumerable<TEntity> FindAll();
        IEnumerable<TEntity> FindAll(QueryConstraints<TEntity> constraints);
        TEntity Get(TKey id);
        void Create(TEntity entity);
        void Update(TEntity entity);
        void Delete(TEntity entity);
        void ValidateUser(String username, String password);
    }
}
